﻿// Save your cats Aizu - 2224.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

using namespace std;
//https://vjudge.csgrandeur.cn/problem/Aizu-2224

/*
问题 C：
尼古拉斯-Y-阿尔福德是个爱猫人士。他在村子里有一个花园，花园里养了很多猫。
这些猫非常可爱，村里的人也都很喜欢它们。
有一天，一个邪恶的女巫来到了村子。她羡慕猫儿们受到大家的喜爱。她在他的花园里打了魔法桩，用魔法栅栏把猫围起来。
她说："你的猫被关在栅栏里，直到变成丑陋的老猫。"就像下了诅咒一样，她走了。
尼古拉斯试图用蜂鸟打破栅栏，但栅栏坚不可摧。他来到教堂，向神父求助。
牧师在书中寻找如何摧毁魔法栅栏，发现可以用圣水摧毁。摧毁栅栏所需的圣水量与栅栏的长度成正比。
然而，圣水相当昂贵。于是，他决定购买最少数量的圣水来拯救他所有的猫。需要多少圣水？
输入
输入格式如下
N M
x1 y1
.
.
.
xN yN
p1 q1
.
.
.
pM qM
输入的第一行包含两个整数 N（2 ≤ N ≤ 10000）和 M（1 ≤ M）。
N 表示魔法堆的数量，M 表示魔法栅栏的数量。
下面的 N 行描述了魔法桩的坐标。每行包含两个整数 xi 和 yi（-10000 ≤ xi，yi ≤ 10000）。
下面 M 行描述栅栏的两端。每行包含两个整数 pj 和 qj（1 ≤ pj，qj ≤ N）。
它表示 pj 桩和 qj 桩之间有一条栅栏。
可以作如下假设
没有桩的坐标相同。
没有桩位于栅栏中间。
没有栅栏相互交叉。
每个围栏内至少有一只猫。
不可能部分摧毁栅栏。
摧毁一个单位长度的魔法栅栏需要一个单位的圣水。
输出
输出一行，其中包含拯救所有猫咪所需的最少圣水量。小数点后的数字可以任意输出。但绝对误差应小于或等于 0.001。
输入示例 1
3 3
0 0
3 0
0 4
1 2
2 3
3 1
样本输入的输出 1
3.000
输入样本 2
4 3
0 0
-100 0
100 0
0 100
1 2
1 3
1 4
样本输入 2 的输出
0.000
输入样本 3
6 7
2 0
6 0
8 2
6 3
0 5
1 7
1 2
2 3
3 4
4 1
5 1
5 4
5 6
样本输入的输出 3
7.236
输入样本 4
6 6
0 0
0 1
1 0
30 0
0 40
30 40
1 2
2 3
3 1
4 5
5 6
6 4
样本输入的输出 4
31.000
*/




int main()
{
	


	return 0;
}

 